package cn.siriusbot.rpc;

import cn.siriusbot.rpc.entity.RpcBody;

/**
 * Rpc服务端
 */
public interface SiriusBotRpcServer {

    /**
     * 注册Rpc服务
     *
     * @param clazz  rpc类
     * @param source 预注册的对象
     * @param <T>    泛型
     */
    <T> void register(Class<T> clazz, T source);

    /**
     * 获取一个处理结果
     *
     * @param body 请求详细
     * @return 返回结果
     */
    Object getResult(RpcBody body);
}
